PartiSan: Fast and Flexible Sanitization via Run-time Partitioning
نویسندگان
چکیده
Code sanitizers are used to automatically detect security vulnerabilities in C/C++ code that elude static analysis. This requires that the code paths containing the vulnerability are actually executed with sanitization enabled. Under current practice, sanitization is routinely applied when developers perform continuous integration testing and fuzzing of pre-release software. However, sanitization is not commonly enabled in alpha, beta, and final releases of software, with one of the main obstacles being the added run-time overhead. We present PartiSan, a framework that uses run-time partitioning to bring additional flexibility to the use of sanitizers and to speed up sanitizer execution. Our core idea is to probabilistically partition the overall execution time into sanitized slices that incur a run-time overhead, and unsanitized slices running at near-native speed. Uniquely, we never remove sanitizer checks completely, which leaves adversaries with an unpredictable attack surface and increases coverage. Sanitization is traditionally an all or nothing proposition, which makes sanitizers hard to distribute to a heterogeneous crowd of beta-testers whose hardware ranges from low-end to high-end. PartiSan can automatically adjust the amount of sanitization to fit within a performance budget, or turn off sanitization altogether if a host lacks sufficient resources. The flexibility resulting from run-time partitioning means that we can alternate between different types of sanitizers dynamically; today, developers have to pick a single type of sanitizer ahead of time. In other words, PartiSan broadens the applicability of sanitizers in general and increases coverage in existing
منابع مشابه
Adaptive Multi-Constraints in Hardware-Software Partitioning for Embedded Multiprocessor FPGA Systems
An embedded multiprocessor field programmable gate array (FPGA) system has a powerful and flexible architecture that the interaction between hardware circuits and software applications. Modern electronic products, such as portable devices, consumer electronics and telematics, can be evaluated rapidly in this platform via the implementation of a set of hardware and software tasks. However, the f...
متن کاملDesign and Evaluation of a Method for Partitioning and Offloading Web-based Applications in Mobile Systems with Bandwidth Constraints
Computation offloading is known to be among the effective solutions of running heavy applications on smart mobile devices. However, irregular changes of a mobile data rate have direct impacts on code partitioning when offloading is in progress. It is believed that once a rate-adaptive partitioning performed, the replication of such substantial processes due to bandwidth fluctuation can be avoid...
متن کاملPartitioning and Task Transfer on NoC-based Many-Core Processors in the Avionics Domain
Networks-on-Chip (NoC) based many-core processors can not only increase system performance but also allow the integration of multiple functions on a single hardware platform. To consolidate functionality on many-core systems in safety-critical domains software partitioning is required to avoid the propagation of faults due to the use of shared resources. In this paper we propose extensions to w...
متن کاملA Dimension Independent General Partitioning Algorithm to supportHPF ( re ) distribution directives
A General Partitioning Algorithm can provide a powerful way of computing local and global addressing for diierent distributions on diierent processor topologies. Therefore, it can be used to design an eecient algorithm for run-time (re)distributions in array based languages such as High Performance Fortran(HPF). EEcient redistributions are essential in many compute and communication intensive a...
متن کاملReal-time Scheduling of a Flexible Manufacturing System using a Two-phase Machine Learning Algorithm
The static and analytic scheduling approach is very difficult to follow and is not always applicable in real-time. Most of the scheduling algorithms are designed to be established in offline environment. However, we are challenged with three characteristics in real cases: First, problem data of jobs are not known in advance. Second, most of the shop’s parameters tend to be stochastic. Third, th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/1711.08108 شماره
صفحات -
تاریخ انتشار 2017